package com.sinodata.bsm.common.vo;

// default package

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * ResUsability entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "RES_USABILITY")
public class ResUsability implements java.io.Serializable {

    // Fields

    private Long id;
    private Long resid;
    private String usabilityName;
    private String expr;
    private Long duration;
    private Long status;
    private String remarks;

    // Constructors

    /** default constructor */
    public ResUsability() {
    }

    /** minimal constructor */
    public ResUsability(Long id) {
        this.id = id;
    }

    /** full constructor */
    public ResUsability(Long id, Long resid, String usabilityName, String expr, Long duration, Long status, String remarks) {
        this.id = id;
        this.resid = resid;
        this.usabilityName = usabilityName;
        this.expr = expr;
        this.duration = duration;
        this.status = status;
        this.remarks = remarks;
    }

    // Property accessors
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequence")
    @SequenceGenerator(name = "sequence", sequenceName = "RES_USABILITY_SEQ")
    @Column(name = "ID", unique = true, nullable = false, insertable = true, updatable = true, precision = 22, scale = 0)
    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Column(name = "USABILITY_NAME", unique = false, nullable = true, insertable = true, updatable = true, length = 50)
    public String getUsabilityName() {
        return this.usabilityName;
    }

    public void setUsabilityName(String usabilityName) {
        this.usabilityName = usabilityName;
    }

    @Column(name = "EXPR", unique = false, nullable = true, insertable = true, updatable = true, length = 512)
    public String getExpr() {
        return this.expr;
    }

    public void setExpr(String expr) {
        this.expr = expr;
    }

    @Column(name = "DURATION", unique = false, nullable = true, insertable = true, updatable = true, precision = 9, scale = 0)
    public Long getDuration() {
        return this.duration;
    }

    public void setDuration(Long duration) {
        this.duration = duration;
    }

    @Column(name = "STATUS", unique = false, nullable = true, insertable = true, updatable = true, precision = 1, scale = 0)
    public Long getStatus() {
        return this.status;
    }

    public void setStatus(Long status) {
        this.status = status;
    }

    @Column(name = "REMARKS", unique = false, nullable = true, insertable = true, updatable = true, length = 512)
    public String getRemarks() {
        return this.remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    @Column(name = "RES_ID", nullable = false, precision = 18, scale = 0)
    public Long getResid() {
        return resid;
    }

    public void setResid(Long resid) {
        this.resid = resid;
    }

}